<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>13_RegExp-正则规则的转义</title>
</head>
<body>

  <script>
    // 定义正则: \表示转义
    // \d 表示数字 0-9
    // \w 表示字母、数字、下划线
    // \s 表示空白字符
    // \D 表示非数字
    // \W 表示非字母、数字、下划线
    // \S 表示非空白字符
    // \b 表示单词边界
    // . 表示任意字符
    // * 表示任意多个字符
    // + 表示至少一个字符

    // \. 表示点
    // \* 表示星号
    // \+ 表示加号
    // \? 表示问号
    // \{n\} 表示n个字符
    // \{n,\} 表示n个字符以上
    // \{n,m\} 表示n到m个字符

    // \^ 表示开始
    // \$ 表示结束

    // \[abc\] 表示a、b、c中的任意一个字符
    // \[^abc\] 表示除了a、b、c之外的任意一个字符
    // \[a-z\] 表示a到z中的任意一个字符

    const str = '123abc';
    const reg = /\d/;

    const results = str.match(reg);
    console.log(results);

    // 特殊: // 表示正则规则的开始和结束
    // const reg2 = /\//
    // 获取到很多的文件名
    // jsx -> js文件
    const fileNames = ["abc.html", "Home.jsx", "index.html", "index.js", "util.js", "format.js"]

    const jsFileReg = /\.jsx?$/
    const newFileNames = fileNames.filter(item => jsFileReg.test(item))
    console.log(newFileNames);

  </script>
  
</body>
</html>